Android 10i(2021)-10i(2021) SP1 interface changes

Historical version interface changes

This document introduces the interface adjustment and other important influence of the compatibility possibly affected between two neighboring versions. The principle of interface adjustment is to develop a more efficient, more powerful, and perfect application to users.

Interface changes from SuperMap iMobile 10i(2021) for Android to SuperMap iMobile 10i(2021) SP1 for Android.

ID Changes
Module
1.
The class BubbleView adjusts the following aspects:

New Interfaces:

  • bindView(android.view.View view): binds associates views
  • clearCanvas(): clears canvas
  • setScale(float scale): sets the zooming ratio. 1 (by default) is the minimum value.
  • update(float x, float y): Updates according to coordinates X and Y
  • update(android.view.MotionEvent event): updates according to the sliding event.
AR
2.
The class PanGestureController adjusts the following aspects:

New Interfaces:

  • getCurrentPoint(): gets the left-top vertex of the current view.
  • getScale(): gets the ratio of the current view.
  • isEnabled(): determines whether it is enabled.
  • setCurrentPoint(android.graphics.Point point): sets the left-top vertex
  • setEnabled(boolean enabled): sets the enabled status.
  • setScale(float sc): sets the scale.
  • updateTouchEvent(android.view.MotionEvent event): updates the touching event.
AR
3.
The class UAVMeasureController adjusts the following aspects:

New Interfaces:

  • addPoint(float x, float y): adds measurement points.
  • clearMeasureResult(): clears measurement results.
  • getCallOutScale(): gets the label ratio.
  • setCallOutScale(float callOutScale): sets the label ratio. 40 is by default.
  • setLineStyle(ShapeStyle shapeStyle): sets the line styles.
  • setPointStyle(ShapeStyle shapeStyle): sets the point styles.
  • setPolygonStyle(ShapeStyle shapeStyle): sets the region styles.
AR
4.
The class UAVRecordParameter adjusts the following aspects:

Changes of interfaces:

  • calculateFocalLength35mmEq(float ratio,float vFov): calculates a 35mm equivalent focal length.
  • calculateVerticalFOV(float ratio,float focalLength35mmEq): calculates vertical field of view.

New Interfaces:

  • calculateRotation(UAVRecordParameter parameter): parses the UAV pose using quaternion.
  • calculatePosition(UAVRecordParameter parameter, Location startLocation): parses the UAV pose using the current position.
  • linearCalculate(ArrayList uavRecordParameters): removing duplicates and linear calculation.
  • linearCalculate(double decimalPart,UAVRecordParameter a,UAVRecordParameter b): Interpolates between AB according to the degree.
  • generateCsvString(ArrayList uavRecordParameters): generates string in CSV format.
AR
5.
The class ARAnimationManager adjusts the following aspects:

New Interfaces:

  • pauseAnimationGroup(String groupName): pauses the animation according to its name.
AR
6.
The class ARMapElement adjusts the following aspects:

New Interfaces:

  • getArMapShapeType(): gets the shape of AR map.
  • setArMapShapeType(ARMapShapeType arMapShapeType): sets the shape of AR map.
  • setOnMapClickListener(OnMapClickListener listener): sets the listener for the clicking of map.
AR
7.
The class ARRecordParameter adjusts the following aspects:

New Interfaces:

  • generateCsvString(java.util.List uavRecordParameters): generates string in CSV format.
  • getPosition(): gets the coordinates of the position
  • getRotation(): gets the rotation quaternion.
  • setPosition(Point3D position): gets the position coordinates of AR scene.
  • setRotation(Quaternion rotation): sets the rotation quaternion.
  • toCsvString(): output string in CSV format.
  • toFieldString(): gets the position coordinates
  • getPosition(): output the string of the field name.
AR
8.
The class CameraRecordControl adjusts the following aspects:

New Interfaces:

  • getCurrentRecordParameter(): gets the record parameters of the current posture.
AR
9.
The class CameraWindowRenderer adjusts the following aspects:

Canceled Interfaces:

  • setDynamicResult(DynamicPolygon dynamicPolygon): sets the dynamic object that will be rendered on the dynamic layer.

New Interfaces:

  • setVisiblity(boolean status): sets the display status of the dynamic object. true means it shows normally. false means it doesn't show well.
  • isVisible(): gets the display status of the object.
  • setDynamicPolygon(DynamicPolygon dynamicPolygon): sets the dynamic object associated with the viewshed.
  • updateVertices(): updates the vertex of the viewshed.
  • getGeoRegion(): gets the polygonal objects.
  • clipBounds(Rect rect): clips the detecting range of the viewshed according to the border.
AR
10.
The class ConvertTool adjusts the following aspects:

New Interfaces:

  • getTranslation(Location locationA, Location locationB): gets the offset of B to A in WGS84.
AR
11.
The class EffectView adjusts the following aspects:

New Interfaces:

  • getCameraRecordControl(): gets the controller of camera record.
  • setOnTouchListener(OnTouchListener l): sets the touching listener.
AR
12.
The class ARDynamicGeometry adjusts the following aspects:

New Interfaces:

  • getCurrentPoints(): gets the current point set
AR
13.
The class ARGeoHorizontalRegion adjusts the following aspects:

New Interfaces:

  • clear(): clears objects
  • drawRegion(float startUpAzimuth, Location startUpLocation, GeoRegion geometry): draws geometric objects.
  • drawRegion(GeoRegion geometry): draws geometric objects.
  • drawRegion(java.util.List pointList): draws AR polygons (plane)
  • getGeoRegion(): gets regions
  • getParentElement(): gets the parent node element
  • getPart(int index): returns the child object of the specified number in the way of the ordered point set.
  • getPartArea(int partIndex): gets the area of the child object of the specified index.
  • getPartCenterPoint(int partIndex): gets the geometric center of the child object of the specified index.
  • getPartCount(): returns the number of child objects of the object.
  • getRenderHeight(): gets the rendering height.
  • setParentNode(AREffectElement element): sets the parent nodes.
  • setParentNode(EffectView arView): sets the parent nodes.
  • setRenderHeight(float renderHeight): sets the rendering height.
AR
14.
The class ARRealMap adjusts the following aspects:

New Interfaces:

  • getMapScale(): gets the scale of the map.
  • getWorkspace(): getWorkspace()
  • isMapFillBackTransparent(): whether the background of 1:1 map is transparent.
  • open(java.lang.String mapName): opens the map with the specified name.
  • refresh(): refresh.
  • setMapFillBackTransparent(boolean mapAlphaOverlay): sets the background of the map transparent.
  • setWorkspace(Workspace workspace): sets the workspace.
AR
15.
The class BaseShape adjusts the following aspects:

New Interfaces:

  • getSelectionTextureMap(): gets the rendering texture resource in the selected status.
  • setSelectionTextureMap(Bitmap bitmap): sets the rendering texture resource in the selected status.
AR
16.
The class Shape adjusts the following aspects:

New Interfaces:

  • drawCustomMesh(Material material,ArrayList vertices,ArrayList triangleIndices): draws to customize grids.
  • drawCustomMesh(final ArrayList vertices,final ArrayList triangleIndices): draws to customize grids.
  • drawQuadrangle(Vector3 a, Vector3 b, Vector3 c, Vector3 d, int type): draws quadrilaterals (protected)
AR
17.
The class ShapeStyle adjusts the following aspects:

New Interfaces:

  • getSelectionTextureMap(): gets the rendering texture resource in the selected status.
  • setSelectionTextureMap(Bitmap bitmap): sets the rendering texture resource in the selected status.
AR
18.
The class Skybox adjusts the following aspects:

New Interfaces:

  • drawSkyBox(float radius): draws spheres.
  • drawSkyBox(Vector offset, float radius): draws spheres.
  • getParentElement(): gets the parent element.
  • setParentNode(AREffectElement element): sets the parent element.
  • setParentNode(EffectView arView): sets the parent element.
AR
19.
The class EffectViewRecorder adjusts the following aspects:

New Interfaces:

  • builder(EffectView effectView): creates Builder.
  • getFolderPath(): gets the path of the folder.
  • getRecorderStatus(): gets the status of the recorder.
  • onUpdate(): listener for the update of frames.
  • prepare(): prepares for the recording.
  • reset(): gets into the status INITIAL directly from PREPARED or RECORDING.
  • setRecordName(java.lang.String videoName): sets the prefix of the video name.
  • start(): start to record
  • stop(): stop recording.
AR
20.
The class RecordParameter adjusts the following aspects:

New Interfaces:

  • calculateFocalLength35mmEq(float ratio, float vFov): calculates a 35mm equivalent focal length.
  • calculateHorizontalFOV(float ratio, float focalLength35mmEq): calculates the horizontal field of view.
  • calculateVerticalFOV(float ratio, float focalLength35mmEq): calculates vertical field values.
  • getFocalLength35mmEq(): gets the 35mm equivalent focal length.
  • getHorizontalFOV(): calculates the horizontal field of view.
  • getPlatformHeight(): gets the height of the platform.
  • getSensorLatitude(): gets the latitude of the sensor.
  • getSensorLongitude(): gets the longitude of the sensor.
  • getUniqueIdentifier(): gets the unique identifier.
  • getUnixTimeStamp(): gets time stamp.
  • getVerticalFOV(): gets the horizontal field of view.
  • setFocalLength35mmEq(float focalLength35mmEq): sets a 35mm equivalent focal length.
  • setHorizontalFOV(float horizontalFOV): sets the horizontal field of view.
  • setPlatformHeight(float platformHeight): sets the height of the platform.
  • setSensorLatitude(double sensorLatitude): sets the latitude of the platform.
  • setSensorLongitude(double sensorLongitude): sets the longitude of the sensor.
  • setUniqueIdentifier(java.lang.String uniqueIdentifier): sets the unique identifier.
  • setUnixTimeStamp(long unixTimeStamp): sets the time stamp.
  • setVerticalFOV(float verticalFOV): sets the vertical field of view of camera.
AR
21.
The class UAVActionControl adjusts the following aspects:

New Interfaces:

  • getAction(): gets gesture-operation types
  • getDrawController(): gets the scene-drawing controller.
  • getMeasureController(): gets the measure controller.
  • getPanController(): gets the panning gesture controller.
  • onTouch(android.view.View v, android.view.MotionEvent event): touching event
  • setAction(UAVAction uavAction): sets the gesture-operation type.
  • setMeasureCallOut(int resourceId): sets the measurement label.
AR
22.
The class UAVCsvReader adjusts the following aspects:

New Interfaces:

  • getPoints(int step): gets the geographic coordinate points in csv.
  • readFileFromAssets(java.lang.String fileName): reads files from \assets according to their names.
  • readFileFromSdCard(java.lang.String filePath): reads csv files from sd card.
AR
23.
The class UAVDrawController adjusts the following aspects:

New Interfaces:

  • addPoint(float x, float y): adds points.
  • clearDrawResult(): clears drawing results.
  • delLastPoint(): clears the added points last time
  • getARGeoLine(): gets the currently drawing lines.
  • getARGeoPoint(): gets the currently drawing points.
  • getARGeoPolygon(): gets the currently drawing polygonal objects.
  • getUAVActionType(): gets the operation actions of UAV.
  • setLineStyle(ShapeStyle shapeStyle): sets the styles of lines.
  • setOnPointUpdateListener(UAVDrawController.OnPointUpdateListener onPointUpdateListener): sets the listener for updating points.
  • setPointStyle(ShapeStyle shapeStyle): sets the styles of points.
  • setPolygonStyle(ShapeStyle shapeStyle): sets the styles of regions
  • setUAVAction(UAVAction UAVActionType): sets the operation actions of UAV.
AR
24.
The class UAVVideoTimeLine adjusts the following aspects:

New Interfaces:

  • bindView(UAVVideoEffectView uavVideoEffectView): binds view
  • getProgress(): gets the current progress
  • setOnChangeLister(UAVVideoTimeLine.OnChangeLister onChangeLister): sets the listener for the changing of progress.
AR
25.
The class UAVAction adjusts the following aspects:

New Enumerations:

  • UAVAction.DRAW_HORIZONTAL_POLYGON: draws horizontal polygons.
  • UAVAction.DRAW_LINE: draw lines
  • UAVAction.DRAW_POINT: draw points
  • UAVAction.MEASURE_AREA: measure areas
  • UAVAction.MEASURE_DISTANCE: measure distances
  • UAVAction.MEASURE_HEIGHT: measure heights
  • UAVAction.NONE: No operations.
  • UAVAction.PAN: Panning gesture (zooming and panning)
AR
26.
The class VideoEffectViewHelper adjusts the following aspects:

New Interfaces:

  • moveToXY(android.view.MotionEvent event, BubbleView bubbleView, EffectView efView): move the bubble window near the XY value of event.
  • setSize(android.view.View view, float ratio): Sets the width and height of the special-effect view according the ratio to ensure the video can display in the maximum size.
  • setSize(android.view.View view, float ratio, int width, int height): Sets the width and height of the special-effect view according the ratio to ensure the video can display in the maximum size.
AR
27.
The class VideoEffectView adjusts the following aspects:

New Interfaces:

  • setLooping(boolean status): Sets whether to play videos in a loop.
  • getDrawingCacheSource(): Reads when detecting the target.
  • release(): releases MediaPlayer
AR